package com.engine.salary.entity.siarchives.po;

import com.engine.salary.annotation.Auth;
import com.engine.salary.annotation.I18n;
import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Set;

/**
 * @Author weaver_cl
 * 
 * @Date 2022/3/17
 * @Version V1.0
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Auth(page = "siArchive", checkType = AuthCheckTypeEnum.TAX_EMP, taxAgentIdField = "paymentOrganization", employeeIdField = "employeeId")
public class InsuranceArchivesEmployeePO {
    private Long employeeId;//员工id

    /**
     * 缴纳组织
     */
    private Long paymentOrganization;

    @I18n
    private String userName;

    private BigDecimal departmentId;

    private String jobNum;

    private String telephone;

    private String idNo;

    @I18n
    private String departmentName;

    /**
     * 分部
     */
    @I18n
    private String subcompanyName;


    private BigDecimal position;

    private Integer userStatus;

    private UserStatusEnum userStatusEnum;

    private String hiredate;

    /**
     * 入职日期
     */
    private String companystartdate;

    /**
     * 离职日期
     */
    private String dimissionDate;

    private Long siSchemeId;

    private Long fundSchemeId;

    private Long otherSchemeId;

    private Long baseInfoId;
    /**
     * 社保、公积金、其他福利档案id
     */
    private Long socialId;

    private Long fundId;

    private Long otherId;

    private Set<String> opts;
}
